home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-09-21 | 62.3 KB | 1,884 lines |
- '* Tun PLUS 8.00 Setup Script
-
- '$INCLUDE 'setupapi.inc'
- '$INCLUDE 'msdetect.inc'
-
- GLOBAL WELCOMDLG$
- GLOBAL ASKCUSTOM$
- GLOBAL FINDINSTTYPE$
- GLOBAL ENCRYPTDLG$
- GLOBAL COPYFILES$
- GLOBAL ENCRYPTFILES$
- GLOBAL CREATEINIFILES$
- GLOBAL ADDPATH$
- GLOBAL ASKTCPCONF$
- GLOBAL RUNTCPCONF$
- GLOBAL CREATEGROUPS$
- GLOBAL szSN$
- GLOBAL szAK$
- GLOBAL szLS$
- GLOBAL DEST$
-
- '$INCLUDE 'setup.inc'
-
- CONST WELCOME = 100
- CONST ASKQUIT = 200
- CONST DESTPATH = 300
- CONST EXITFAILURE = 400
- CONST EXITQUIT = 600
- CONST EXITSUCCESS = 700
- CONST OPTIONS = 800
- CONST APPHELP = 900
- CONST DIREXIST = 1000
- CONST CUSTINST = 6200
- CONST TOOBIG = 6300
- CONST BADPATH = 6400
- CONST CDGETNAMEORG = 7500
- CONST CDBADORG = 7800
- CONST MODELESS = 5000
- CONST MODELESS2 = 5001
- CONST ASKUPDATE = 5003
- CONST ASKYESNOBACK = 5004
- CONST ASKYESNO = 5005
- CONST CDBADFILE = 7200
- CONST GETSERIALNUM = 1100
- CONST ODBCINSTALL = 8100
- CONST ODBCBAD = 8200
- CONST ODBCNODM = 8300
- CONST ODBCBACK = 8400
- CONST ASKDEMO = 8500
-
- CONST LOGO = 1
-
- CONST APPFILES = 1
- CONST OPTFILES1 = 2
- CONST OPTFILES2 = 3
- CONST OPTFILES3 = 4
- CONST OPTFILES4 = 5
- CONST OPTFILES5 = 6
- CONST OPTFILES6 = 7
- CONST OPTFILES7 = 8
- CONST OPTFILES8 = 9
- CONST OPTFILES9 = 10
- CONST OPTFILES10 = 11
- CONST OPTFILES11 = 12
- CONST OPTFILES12 = 13
- CONST OPTFILES13 = 14
- CONST CRYPTFILES = 100
- CONST CTL3DFILES = 101
- CONST CONVERTFILES = 102
-
- GLOBAL DESTSQL$
- GLOBAL DESTKER$
- GLOBAL DESTTCP$
- GLOBAL DESTMAIL$
- GLOBAL DESTEMUL$
- GLOBAL DESTCOM$
- GLOBAL SETUPPROG$
- GLOBAL FILEPATH$
- GLOBAL WINDRIVE$
- GLOBAL OPT1OPT$
- GLOBAL OPT2OPT$
- GLOBAL OPT3OPT$
- GLOBAL OPT4OPT$
- GLOBAL OPT5OPT$
- GLOBAL OPT6OPT$
- GLOBAL OPT7OPT$
- GLOBAL OPT8OPT$
- GLOBAL OPT9OPT$
- GLOBAL OPT10OPT$
- GLOBAL OPT11OPT$
- GLOBAL OPT12OPT$
- GLOBAL OPT13OPT$
-
- GLOBAL APPNEEDS$
- GLOBAL OPT1NEEDS$
- GLOBAL OPT2NEEDS$
- GLOBAL OPT3NEEDS$
- GLOBAL OPT4NEEDS$
- GLOBAL OPT5NEEDS$
- GLOBAL OPT6NEEDS$
- GLOBAL OPT7NEEDS$
- GLOBAL OPT8NEEDS$
- GLOBAL OPT9NEEDS$
- GLOBAL OPT10NEEDS$
- GLOBAL OPT11NEEDS$
- GLOBAL OPT12NEEDS$
- GLOBAL OPT13NEEDS$
- GLOBAL EXTRACOSTS$ ''List of extra costs to add per drive
- GLOBAL BIGLIST$ ''List of option files cost calc results (boolean)
-
- GLOBAL CHECKSTATES$
- GLOBAL STATUSTEXT$
- GLOBAL DRIVETEXT$
-
- GLOBAL DiskFileVersion$
- GLOBAL MasterFileVersion$
- GLOBAL TCPCONF$
- GLOBAL INSTALLEDKER%
- GLOBAL INSTALLKER%
- GLOBAL KERNELTYPE$
- GLOBAL INSTALLEDTCP%
- GLOBAL INSTALLTCP%
- GLOBAL INSTALLEDEMUL%
- GLOBAL INSTALLEMUL%
- GLOBAL INSTALLEDMAIL%
- GLOBAL INSTALLMAIL%
- GLOBAL INSTALLEDSQL%
- GLOBAL INSTALLSQL%
- GLOBAL INSTALLCRYPT%
- GLOBAL INSTALLCTL3D%
- GLOBAL INSTALLCONVERT%
- GLOBAL FINDTUNPATH%
-
- DECLARE SUB RegisterCtl3d LIB "tunplus.dll"
- DECLARE SUB OutputDebug LIB "tuncomm.dll" (szStr$)
- DECLARE SUB ShowMaximize LIB "tuncomm.dll" (hWnd%)
- DECLARE SUB AddOptFilesToCopyList (ftype%)
- DECLARE SUB RecalcOptFiles (ftype%)
- DECLARE SUB RecalcPath
- DECLARE SUB SetDriveStatus
- DECLARE FUNCTION CheckConfig LIB "tuncomm.dll" (szOld$, szNew$) AS INTEGER
- DECLARE FUNCTION CheckDriverManager LIB "tuncomm.dll" (szWinDir$, szWinSysDir$) AS INTEGER
- DECLARE FUNCTION InstallODBC LIB "tuncomm.dll" (hWnd%, szInstDir$, szOpt$) AS INTEGER
- DECLARE FUNCTION CreatIniConvert LIB "tuncomm.dll" (szPath$) AS INTEGER
-
- DECLARE FUNCTION IsInstalled2 (szSection$,szKey$,szFile$,szPath$) AS INTEGER
- DECLARE FUNCTION IsInstalled (szSection$,szKey$,szFile$,szPath$) AS INTEGER
- DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
- DECLARE FUNCTION MakeString (i%) AS STRING
- DECLARE FUNCTION MakeDrive (i%) AS STRING
- DECLARE FUNCTION LookupApp (szAppName$) AS STRING
-
- DECLARE FUNCTION CustomSetup LIB "tuncomm.dll" (frame%,szDir$)
- DECLARE FUNCTION AddTunDir LIB "tuncomm.dll" (szDir$) AS INTEGER
- DECLARE FUNCTION FindExistingPath LIB "tuncomm.dll" (szDir$) AS INTEGER
- DECLARE FUNCTION IsNewer (szVersion1$, szVersion2$) AS INTEGER
- DECLARE FUNCTION RemoveSysIniKey LIB "tuncomm.dll" (szFile$, szSection$, szEntry$, szKey$) AS INTEGER
- DECLARE FUNCTION MyAddSysIniKey LIB "tuncomm.dll" (szFile$, szSection$, szEntry$, szKey$) AS INTEGER
- DECLARE FUNCTION CreateSysFile LIB "tuncomm.dll" (szFile$) AS INTEGER
- DECLARE FUNCTION SaveFile LIB "tuncomm.dll" (szFile$) AS INTEGER
- DECLARE FUNCTION OutputStr LIB "tuncomm.dll" (szMsg$) AS INTEGER
- DECLARE FUNCTION OutputInt LIB "tuncomm.dll" (nVal%) AS INTEGER
- DECLARE FUNCTION CreatIniTcp LIB "tuncomm.dll" (KerTyp$,Path$,InstMail%,nLG%) AS INTEGER
- DECLARE FUNCTION CreatIniKer LIB "tuncomm.dll" (Path$,InstTcp%) AS INTEGER
- DECLARE FUNCTION CreatIniEmul LIB "tuncomm.dll" (Path$,nLG%) AS INTEGER
- DECLARE FUNCTION CreatIniMail LIB "tuncomm.dll" (Path$) AS INTEGER
- DECLARE FUNCTION CreatIniSql LIB "tuncomm.dll" (Path$) AS INTEGER
- DECLARE FUNCTION EncryptFile LIB "tuncomm.dll" (szPath$, szSer$, szKey$, szLi$) AS INTEGER
- DECLARE FUNCTION AddLangMenu LIB "tuncomm.dll" (szPath$) AS INTEGER
- DECLARE FUNCTION MyExitWindows LIB "tuncomm.dll" (nType%) AS INTEGER
-
- INIT:
- CUIDLL$ = "tunplus.dll" ''custom user interface dll
- HELPPROC$ = "FHelpDlgProc" ''Help dialog procedure
-
- hWnd% = HwndFrame()
- ShowMaximize hWnd%
- SetBitmap CUIDLL$, LOGO
- SetTitle "Tun PLUS - Installation"
-
- szInf$ = GetSymbolValue("STF_SRCINFPATH")
- IF szInf$ = "" THEN
- szInf$ = GetSymbolValue("STF_CWDDIR") + "TUNPLUS.INF"
- END IF
- ReadInfFile szInf$
-
- WINDRIVE$ = MID$(GetWindowsDir, 1, 1)
- IF DEST$ = "" THEN
- DEST$ = WINDRIVE$ + ":\TUN"
- ENDIF
-
- '' ---- CustInst list symbols ----
- CHECKSTATES$ = "CheckItemsState"
- STATUSTEXT$ = "StatusItemsText"
- DRIVETEXT$ = "DriveStatusText"
- FOR i% = 1 TO 13 STEP 1
- AddListItem CHECKSTATES$, "OFF"
- NEXT i%
- FOR i% = 1 TO 13 STEP 1
- AddListItem STATUSTEXT$, ""
- NEXT i%
- FOR i% = 1 TO 7 STEP 1
- AddListItem DRIVETEXT$, ""
- NEXT i%
- ReplaceListItem DRIVETEXT$, 7, DEST$
-
- '' ---- Disk cost list symbols ----
- APPNEEDS$ = "AppNeeds"
- OPT1NEEDS$ = "Opt1Needs"
- OPT2NEEDS$ = "Opt2Needs"
- OPT3NEEDS$ = "Opt3Needs"
- OPT4NEEDS$ = "Opt4Needs"
- OPT5NEEDS$ = "Opt5Needs"
- OPT6NEEDS$ = "Opt6Needs"
- OPT7NEEDS$ = "Opt7Needs"
- OPT8NEEDS$ = "Opt8Needs"
- OPT9NEEDS$ = "Opt9Needs"
- OPT10NEEDS$ = "Opt10Needs"
- OPT11NEEDS$ = "Opt11Needs"
- OPT12NEEDS$ = "Opt12Needs"
- OPT13NEEDS$ = "Opt13Needs"
- EXTRACOSTS$ = "ExtraCosts"
- BIGLIST$ = "BigList"
- FOR i% = 1 TO 13 STEP 1
- AddListItem BIGLIST$, ""
- NEXT i%
- FOR i% = 1 TO 26 STEP 1
- AddListItem EXTRACOSTS$, "0"
- AddListItem OPT1NEEDS$, "0"
- AddListItem OPT2NEEDS$, "0"
- AddListItem OPT3NEEDS$, "0"
- AddListItem OPT4NEEDS$, "0"
- AddListItem OPT5NEEDS$, "0"
- AddListItem OPT6NEEDS$, "0"
- AddListItem OPT7NEEDS$, "0"
- AddListItem OPT8NEEDS$, "0"
- AddListItem OPT9NEEDS$, "0"
- AddListItem OPT10NEEDS$, "0"
- AddListItem OPT11NEEDS$, "0"
- AddListItem OPT12NEEDS$, "0"
- AddListItem OPT13NEEDS$, "0"
- NEXT i%
-
- '' ---- File Option Variables ----
- OPT1OPT$ = "1"
- OPT2OPT$ = "1"
- OPT3OPT$ = "1"
- OPT4OPT$ = "1"
- OPT5OPT$ = "1"
- OPT6OPT$ = "1"
- OPT7OPT$ = "1"
- OPT8OPT$ = "1"
- OPT8OPT$ = "1"
- OPT10OPT$ = "1"
- OPT11OPT$ = "1"
- OPT12OPT$ = "1"
- OPT13OPT$ = "1"
-
- INSTALLKER% = 1
- INSTALLEDKER% = 0
- KERNELTYPE$ = "BTN2"
- ReplaceListItem CHECKSTATES$, OPTFILES1 , "ON"
-
- DESTTCP$= MakePath( DEST$, "TCPW")
- DESTEMUL$= MakePath( DEST$, "EMUL")
- DESTMAIL$= MakePath( DEST$, "MAIL")
- DESTSQL$= MakePath( DEST$, "SQL")
-
- INSTALLEDTCP% = IsInstalled("TcpFiles","WFTP.EXE","WFTP.EXE",DESTTCP$)
- INSTALLEDEMUL% = IsInstalled("EmulFiles","EMULWIN.EXE","EMULWIN.EXE",DESTEMUL$)
- INSTALLEDMAIL% = IsInstalled("MailFiles","WMAIL2.EXE","BIN\WMAIL2.EXE",DESTMAIL$)
- INSTALLEDSQL% = IsInstalled("SqlFiles","TUNODBC.DLL","DRIVER\TUNODBC.DLL",DESTSQL$)
-
- IF INSTALLEDTCP% <> 1 THEN
- ReplaceListItem CHECKSTATES$, OPTFILES4 , "ON"
- ENDIF
- IF INSTALLEDEMUL% <> 1 THEN
- ReplaceListItem CHECKSTATES$, OPTFILES5 , "ON"
- ENDIF
- IF INSTALLEDMAIL% <> 1 THEN
- ReplaceListItem CHECKSTATES$, OPTFILES6 , "ON"
- ENDIF
- IF INSTALLEDSQL% <> 1 THEN
- ReplaceListItem CHECKSTATES$, OPTFILES9 , "ON"
- ENDIF
-
- RecalcPath
- SetDriveStatus
-
- '$IFDEF DEBUG
- i% = SetSizeCheckMode(scmOnIgnore) '' could use scmOff; def = scmOnFatal
- '$ENDIF ''DEBUG
-
- RegisterCtl3d
-
-
- '' WELCOME
- '' Display the welcome setup dialog
- IF WELCOMDLG$ <> "NO" THEN
- WELCOME:
- sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", 0, "" )
- IF sz$ = "EXIT" THEN
- GOSUB ASKQUIT
- GOTO WELCOME
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO WELCOME
- ENDIF
- UIPop 1
- ENDIF
-
-
- '' CUSTINST
- '' Display the custom setup dialog
- IF ASKCUSTOM$ <> "NO" THEN
- CUSTINST:
- sz$ = UIStartDlg(CUIDLL$, CUSTINST, "FCustInstDlgProc", APPHELP, HELPPROC$)
- IF sz$ = "CONTINUE" THEN
- ''Install only if it will fit.
- FOR i% = 1 TO 13 STEP 1
- IF GetListItem(BIGLIST$, i%) <> "" THEN
- GOSUB TOOBIG
- GOTO CUSTINST
- END IF
- NEXT i%
- IF GetListItem(CHECKSTATES$, OPTFILES10) = "ON" THEN
- opt1$ = "DRIVERMANAGER"
- ELSE
- opt1$ = "NONE"
- END IF
- IF GetListItem(CHECKSTATES$, OPTFILES11) = "ON" THEN
- opt2$ = "SAMPLES"
- ELSE
- opt2$ = "NONE"
- END IF
- '' GOTO CHECKDMVERSION
- UIPop 1
- GOTO INSTALL
- ELSEIF sz$ = "PATH" THEN
- GOTO GETPATH
- ELSEIF sz$ = "BTN2" OR sz$ = "BTN3" OR sz$ = "BTN4" THEN
- KERNELTYPE$ = sz$
- RecalcOptFiles APPFILES
- '' RecalcOptFiles OPTFILES2
- '' RecalcOptFiles OPTFILES3
- IF INSTALLEDKER% <> 1 THEN
- RecalcOptFiles OPTFILES12
- ENDIF
- SetDriveStatus
- GOTO CUSTINST
- ELSEIF sz$ = "CHK5" THEN
- RecalcOptFiles OPTFILES4
- RecalcOptFiles APPFILES
- SetDriveStatus
- GOTO CUSTINST
- ELSEIF sz$ = "CHK6" THEN
- RecalcOptFiles OPTFILES5
- SetDriveStatus
- GOTO CUSTINST
- ELSEIF sz$ = "CHK7" THEN
- RecalcOptFiles OPTFILES6
- RecalcOptFiles OPTFILES7
- RecalcOptFiles OPTFILES8
- SetDriveStatus
- GOTO CUSTINST
- ELSEIF sz$ = "CHK8" THEN
- RecalcOptFiles OPTFILES7
- SetDriveStatus
- GOTO CUSTINST
- ELSEIF sz$ = "CHK9" THEN
- RecalcOptFiles OPTFILES8
- SetDriveStatus
- GOTO CUSTINST
- ELSEIF sz$ = "CHK10" THEN
- RecalcOptFiles OPTFILES9
- RecalcOptFiles OPTFILES10
- RecalcOptFiles OPTFILES11
- SetDriveStatus
- GOTO CUSTINST
- ELSEIF sz$ = "CHK11" THEN
- RecalcOptFiles OPTFILES10
- SetDriveStatus
- GOTO CUSTINST
- ELSEIF sz$ = "CHK12" THEN
- RecalcOptFiles OPTFILES11
- SetDriveStatus
- GOTO CUSTINST
- ELSEIF sz$ = "REACTIVATE" THEN
- RecalcPath
- SetDriveStatus
- GOTO CUSTINST
- ELSE
- GOSUB ASKQUIT
- GOTO CUSTINST
- END IF
- ENDIF
-
-
-
- '' INSTALL
- '' Start the installation
- INSTALL:
- '' Init path sub-directory
-
- DESTKER$= MakePath( DEST$, "KERNELW")
- DESTTCP$= MakePath( DEST$, "TCPW")
- DESTEMUL$= MakePath( DEST$, "EMUL")
- DESTMAIL$= MakePath( DEST$, "MAIL")
- DESTSQL$= MakePath( DEST$, "SQL")
- DESTCOM$= MakePath( DEST$, "COMMON")
-
- '' Find type of installation
- IF GetListItem(CHECKSTATES$, OPTFILES1) = "ON" THEN
- INSTALLKER% = 1
- IF FINDINSTTYPE$ <> "NO" THEN
-
- INSTALLEDKER% = IsInstalled("KernelFiles","TUNTCPIP.DLL","TUNTCPIP.DLL",DESTKER$)
-
- IF INSTALLEDKER% = 1 THEN
- INSK1:
- SetSymbolValue "TitleYesNoBack", "Update"
- SetSymbolValue "MessageYesNoBack", "The same version of Tun KERNEL has been found. Do you want to overwrite it ?"
- sz$ = UIStartDlg(CUIDLL$, ASKYESNOBACK, "FAskYesNoBackDlgProc", 0, "")
- UIPop 1
- IF sz$ = "YES" THEN
- INSTALLKER% = 1
- ELSEIF sz$ = "BACK" THEN
- GOTO CUSTINST
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO INSK1
- ELSE
- INSTALLKER% = 0
- ENDIF
- ELSEIF INSTALLEDKER% = 2 THEN
- INSK2:
- SetSymbolValue "TitleYesNoBack", "Update"
- SetSymbolValue "MessageYesNoBack", "A previous version of Tun KERNEL has been found. Do you want to overwrite it ?"
- sz$ = UIStartDlg(CUIDLL$, ASKYESNOBACK, "FAskYesNoBackDlgProc", 0, "")
- UIPop 1
- IF sz$ = "YES" THEN
- INSTALLKER% = 2
- ELSEIF sz$ = "BACK" THEN
- GOTO CUSTINST
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO INSK2
- ELSE
- INSTALLKER% = 0
- ENDIF
- ELSE
- INSTALLKER% = 1
- ENDIF
- ENDIF
- ELSE
- INSTALLKER% = 0
- ENDIF
-
- INSTALLEDTCP% = 0
- IF GetListItem(CHECKSTATES$, OPTFILES4) = "ON" THEN
- INSTALLTCP% = 1
- IF FINDINSTTYPE$ <> "NO" THEN
-
- INSTALLEDTCP% = IsInstalled("TcpFiles","WFTP.EXE","WFTP.EXE",DESTTCP$)
-
- IF INSTALLEDTCP% = 1 THEN
- INST1:
- SetSymbolValue "TitleYesNoBack", "Update"
- SetSymbolValue "MessageYesNoBack", "The same version of Tun TCP has been found. Do you want to overwrite it ?"
- sz$ = UIStartDlg(CUIDLL$, ASKYESNOBACK, "FAskYesNoBackDlgProc", 0, "")
- UIPop 1
- IF sz$ = "YES" THEN
- INSTALLTCP% = 1
- ELSEIF sz$ = "BACK" THEN
- GOTO CUSTINST
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO INST1
- ELSE
- INSTALLTCP% = 0
- ENDIF
- ELSEIF INSTALLEDTCP% = 2 THEN
- INST2:
- SetSymbolValue "TitleYesNoBack", "Update"
- SetSymbolValue "MessageYesNoBack", "A previous version of Tun TCP has been found. Do you want to overwrite it ?"
- sz$ = UIStartDlg(CUIDLL$, ASKYESNOBACK, "FAskYesNoBackDlgProc", 0, "")
- UIPop 1
- IF sz$ = "YES" THEN
- INSTALLTCP% = 2
- ELSEIF sz$ = "BACK" THEN
- GOTO CUSTINST
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO INST2
- ELSE
- INSTALLTCP% = 0
- ENDIF
- ELSE
- INSTALLTCP% = 1
- ENDIF
- ENDIF
- ELSE
- INSTALLTCP% = 0
- ENDIF
-
- INSTALLEDEMUL% = 0
- IF GetListItem(CHECKSTATES$, OPTFILES5) = "ON" THEN
- INSTALLEMUL% = 1
- IF FINDINSTTYPE$ <> "NO" THEN
-
- INSTALLEDEMUL% = IsInstalled("EmulFiles","EMULWIN.EXE","EMULWIN.EXE",DESTEMUL$)
-
- IF INSTALLEDEMUL% = 1 THEN
- INSE1:
- SetSymbolValue "TitleYesNoBack", "Update"
- SetSymbolValue "MessageYesNoBack", "The same version of Tun EMUL has been found. Do you want to overwrite it ?"
- sz$ = UIStartDlg(CUIDLL$, ASKYESNOBACK, "FAskYesNoBackDlgProc", 0, "")
- UIPop 1
- IF sz$ = "YES" THEN
- INSTALLEMUL% = 1
- ELSEIF sz$ = "BACK" THEN
- GOTO CUSTINST
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO INSE1
- ELSE
- INSTALLEMUL% = 0
- ENDIF
- ELSEIF INSTALLEDEMUL% = 2 THEN
- INSE2:
- SetSymbolValue "TitleYesNoBack", "Update"
- SetSymbolValue "MessageYesNoBack", "A previous version of Tun EMUL has been found. Do you want to overwrite it ?"
- sz$ = UIStartDlg(CUIDLL$, ASKYESNOBACK, "FAskYesNoBackDlgProc", 0, "")
- UIPop 1
- IF sz$ = "YES" THEN
- INSTALLEMUL% = 2
- ELSEIF sz$ = "BACK" THEN
- GOTO CUSTINST
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO INSE2
- ELSE
- INSTALLEMUL% = 0
- ENDIF
- ELSE
- INSTALLEMUL% = 1
- ENDIF
- ENDIF
- ELSE
- INSTALLEMUL% = 0
- ENDIF
-
- INSTALLEDMAIL% = 0
- IF GetListItem(CHECKSTATES$, OPTFILES6) = "ON" THEN
- INSTALLMAIL% = 1
- IF FINDINSTTYPE$ <> "NO" THEN
-
- INSTALLEDMAIL% = IsInstalled("MailFiles","WMAIL2.EXE","BIN\WMAIL2.EXE",DESTMAIL$)
-
- IF INSTALLEDMAIL% = 1 THEN
- INSM1:
- SetSymbolValue "TitleYesNoBack", "Update"
- SetSymbolValue "MessageYesNoBack", "The same version of Tun MAIL has been found. Do you want to overwrite it ?"
- sz$ = UIStartDlg(CUIDLL$, ASKYESNOBACK, "FAskYesNoBackDlgProc", 0, "")
- UIPop 1
- IF sz$ = "YES" THEN
- INSTALLMAIL% = 1
- ELSEIF sz$ = "BACK" THEN
- GOTO CUSTINST
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO INSM1
- ELSE
- INSTALLMAIL% = 0
- ENDIF
- ELSEIF INSTALLEDMAIL% = 2 THEN
- INSM2:
- SetSymbolValue "TitleYesNoBack", "Update"
- SetSymbolValue "MessageYesNoBack", "A previous version of Tun MAIL has been found. Do you want to overwrite it ?"
- sz$ = UIStartDlg(CUIDLL$, ASKYESNOBACK, "FAskYesNoBackDlgProc", 0, "")
- UIPop 1
- IF sz$ = "YES" THEN
- INSTALLMAIL% = 2
- ELSEIF sz$ = "BACK" THEN
- GOTO CUSTINST
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO INSM2
- ELSE
- INSTALLMAIL% = 0
- ENDIF
- ELSE
- INSTALLMAIL% = 1
- ENDIF
- ENDIF
- ELSE
- INSTALLMAIL% = 0
- ENDIF
-
- INSTALLEDSQL% = 0
- IF GetListItem(CHECKSTATES$, OPTFILES9) = "ON" THEN
- INSTALLSQL% = 1
- IF FINDINSTTYPE$ <> "NO" THEN
-
- INSTALLEDSQL% = IsInstalled("SqlFiles","TUNODBC.DLL","DRIVER\TUNODBC.DLL",DESTSQL$)
-
- IF INSTALLEDSQL% = 1 THEN
- INSS1:
- SetSymbolValue "TitleYesNoBack", "Update"
- SetSymbolValue "MessageYesNoBack", "The same version of Tun SQL has been found. Do you want to overwrite it ?"
- sz$ = UIStartDlg(CUIDLL$, ASKYESNOBACK, "FAskYesNoBackDlgProc", 0, "")
- UIPop 1
- IF sz$ = "YES" THEN
- INSTALLSQL% = 1
- ELSEIF sz$ = "BACK" THEN
- GOTO CUSTINST
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO INSS1
- ELSE
- INSTALLSQL% = 0
- ENDIF
- ELSEIF INSTALLEDSQL% = 2 THEN
- INSS2:
- SetSymbolValue "TitleYesNoBack", "Update"
- SetSymbolValue "MessageYesNoBack", "A previous version of Tun SQL has been found. Do you want to overwrite it ?"
- sz$ = UIStartDlg(CUIDLL$, ASKYESNOBACK, "FAskYesNoBackDlgProc", 0, "")
- UIPop 1
- IF sz$ = "YES" THEN
- INSTALLSQL% = 2
- ELSEIF sz$ = "BACK" THEN
- GOTO CUSTINST
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO INSS2
- ELSE
- INSTALLSQL% = 0
- ENDIF
- ELSE
- INSTALLSQL% = 1
- ENDIF
- ENDIF
- ELSE
- INSTALLSQL% = 0
- ENDIF
-
- INSTALLCRYPT%=1
- INSTALLCTL3D%=1
- INSTALLCONVERT%=1
- IF FINDINSTTYPE$ <> "NO" THEN
-
- '' Tuncrypt ?
- fInst% = IsInstalled2 ("CryptFiles","TUNCRYPT.DLL","TUNCRYPT.DLL",DESTCOM$)
- IF fInst% <> 2 AND fInst% <> 4 THEN
- INSTALLCRYPT%=0
- ENDIF
-
- '' Convert ?
- fInst% = IsInstalled2 ("ConvertFiles","CONVERT.DLL","CONVERT.DLL",DESTCOM$)
- IF fInst% <> 2 AND fInst% <> 4 THEN
- INSTALLCONVERT%=0
- ENDIF
-
- '' CTL3D ?
- fInst% = IsInstalled2 ("Ctl3dFiles","CTL3D.TUN","CTL3D.DLL",GetWindowsSysDir)
- IF fInst% = 0 OR fInst% = 1 THEN
- INSTALLCTL3D%=0
- ELSEIF fInst% = 2 THEN
- INSTALLCTL3D%=2
- ENDIF
- ENDIF
-
- IF INSTALLSQL% <> 0 THEN
- GOTO CHECKDMVERSION
- ENDIF
-
- IF INSTALLKER%= 0 AND INSTALLTCP%= 0 AND INSTALLEMUL% = 0 AND INSTALLMAIL% = 0 AND INSTALLSQL% = 0 THEN
- GOTO CUSTINST
- ENDIF
-
- ''-------------------------------------------------------------------------
- '' SERIAL
- '' Ask for serial number and activation key
- ''-------------------------------------------------------------------------
- SERIAL:
- IF ENCRYPTDLG$ <> "NO" THEN
- sz$ = UIStartDlg(CUIDLL$, GETSERIALNUM, "FNameOrgDlgProc", APPHELP, HELPPROC$)
- IF sz$ = "CANCEL" THEN
- sz$ = UIStartDlg(CUIDLL$, CDBADORG, "FInfoDlgProc", 0, "" )
- UIPop 1
- GOTO SERIAL
- ELSEIF sz$ = "EXIT" THEN
- GOSUB ASKQUIT
- GOTO SERIAL
- ELSEIF sz$ <> "CONTINUE" THEN
- GOTO SERIAL
- ENDIF
- szSN$ = GetSymbolValue( "NameOut" )
- szAK$ = GetSymbolValue( "OrgOut" )
- szLS$ = GetSymBolValue( "LicenseStringOut" )
- szHEAD$ = MID$( szSN$, 4, 2 )
- IF szHEAD$ <> "02" THEN
- BADF1:
- sz$ = UIStartDlg(CUIDLL$, CDBADFILE, "FInfoDlgProc", 0, "" )
- UIPop 1
- IF sz$ = "EXIT" THEN
- GOTO ASKQUIT
- GOTO SERIAL
- ELSEIF sz$ = "CONTINUE" THEN
- GOTO SERIAL
- ELSE
- GOTO BADF1
- ENDIF
- ENDIF
- UIPop 1
- ENDIF
-
- '' COPYFILES
- '' Create directory and copy files
- IF COPYFILES$ <> "NO" THEN
- ClearCopyList
- AddOptFilesToCopyList APPFILES
- IF INSTALLKER% = 1 THEN
- AddOptFilesToCopyList OPTFILES12
- ENDIF
- AddOptFilesToCopyList OPTFILES4
- AddOptFilesToCopyList OPTFILES5
- AddOptFilesToCopyList OPTFILES6
- AddOptFilesToCopyList OPTFILES7
- AddOptFilesToCopyList OPTFILES8
- AddOptFilesToCopyList OPTFILES9
- AddOptFilesToCopyList OPTFILES10
- AddOptFilesToCopyList OPTFILES11
- IF INSTALLCRYPT% = 1 THEN
- AddOptFilesToCopyList CRYPTFILES
- ENDIF
- IF INSTALLCONVERT% = 1 THEN
- AddOptFilesToCopyList CONVERTFILES
- ENDIF
- IF INSTALLCTL3D% <> 0 THEN
- AddOptFilesToCopyList CTL3DFILES
- ENDIF
-
- CreateDir DEST$, cmoNone
- SetRestartDir MakePath( DEST$, "TMP")
- CopyFilesInCopyList
-
- ENDIF
- ''COPYFILES:
- '' CreateDir DEST$, cmoNone
- '' CopyFilesInCopyList
-
-
- ''-------------------------------------------------------------------------
- '' ENCRYPT
- '' Encrypt executables and DLL
- ''-------------------------------------------------------------------------
- IF ENCRYPTFILES$ <> "NO" THEN
-
- ENCRYPT:
-
- curs% = ShowWaitCursor()
-
- fEncryt%=EncryptFile(DESTCOM$, szSN$, szAK$, szLS$)
-
- RestoreCursor curs%
-
- ENDIF
-
- '' CHECKCONFIG
- '' Check and Install CTL3D.DLL if required
-
- CTL3D:
- szNF$ = MakePath(DESTCOM$ , "CTL3D.TUN")
- szOF$ = GetWindowsSysDir() + "CTL3D.DLL"
- IF INSTALLCTL3D% = 2 THEN
- CTL3D1:
- sz$ = UIStartDlg(CUIDLL$, ASKUPDATE, "FAskUpdateDlgProc", 0, "")
- IF sz$ = "YES" THEN
- CopyFile szOF$, GetWindowsSysDir() + "CTL3D.OLD", cmoOverwrite, 0
- CopyFile szNF$, szOF$, cmoOverwrite, 0
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO CTL3D1
- ENDIF
- UIPop 1
- ELSEIF INSTALLCTL3D% = 1 THEN
- CopyFile szNF$, szOF$, cmoOverwrite, 0
- ENDIF
-
- IF INSTALLSQL <> 0 THEN
- '' ASKDEMO
- '' Ask the user for wich RDBMS he want to install DEMOS
- ASKDEMO:
- IF opt2$ = "SAMPLES" THEN
- sz$ = UIStartDlg(CUIDLL$, ASKDEMO, "FAskDemoDlgProc", 0, "")
- IF sz$ = "CONTINUE" OR sz$ = "CANCEL" THEN
- szDemoIfx$ = GetSymbolValue( "IfxCheckbox" )
- szDemoOra$ = GetSymbolValue( "OraCheckbox" )
- szDemoSyb$ = GetSymbolValue( "SybCheckbox" )
- szDemoIse$ = GetSymbolValue( "IseCheckbox" )
- UIPop 1
- ELSEIF sz$ = "EXIT" THEN
- GOSUB ASKQUIT
- GOTO ASKDEMO
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO ASKDEMO
- ENDIF
- ENDIF
-
-
- '' SAVEDM
- '' Save all driver manager components if required
- SAVEDM:
- IF fSaveDM% = 1 THEN
- curs% = ShowWaitCursor()
- CreateDir MakePath(DESTSQL$, "ODBC.OLD"), cmoNone
- szSrc$ = GetWindowsSysDir() + "ODBC.DLL"
- IF DoesFileExist(szSrc$, femRead) THEN
- szDest$ = MakePath( DESTSQL$, "ODBC.OLD\ODBC.DLL")
- CopyFile szSrc$, szDest$, cmoOverwrite, 0
- ENDIF
- szSrc$ = GetWindowsSysDir() + "ODBCINST.DLL"
- IF DoesFileExist(szSrc$, femRead) THEN
- szDest$ = MakePath( DESTSQL$, "ODBC.OLD\ODBCINST.DLL")
- CopyFile szSrc$, szDest$, cmoOverwrite, 0
- ENDIF
- szSrc$ = GetWindowsSysDir() + "ODBCCURS.DLL"
- IF DoesFileExist(szSrc$, femRead) THEN
- szDest$ = MakePath( DESTSQL$, "ODBC.OLD\ODBCINST.DLL")
- CopyFile szSrc$, szDest$, cmoOverwrite, 0
- ENDIF
- szSrc$ = GetWindowsSysDir() + "ODBCINST.HLP"
- IF DoesFileExist(szSrc$, femRead) THEN
- szDest$ = MakePath( DESTSQL$, "ODBC.OLD\ODBCINST.HLP")
- CopyFile szSrc$, szDest$, cmoOverwrite, 0
- ENDIF
- szSrc$ = GetWindowsDir() + "ODBCADM.EXE"
- IF DoesFileExist(szSrc$, femRead) THEN
- szDest$ = MakePath( DESTSQL$, "ODBC.OLD\ODBCADM.EXE")
- CopyFile szSrc$, szDest$, cmoOverwrite, 0
- ENDIF
- szSrc$ = GetWindowsDir() + "ODBCINST.INI"
- IF DoesFileExist(szSrc$, femRead) THEN
- szDest$ = MakePath( DESTSQL$, "ODBC.OLD\ODBCINST.INI")
- CopyFile szSrc$, szDest$, cmoOverwrite, 0
- ENDIF
- szSrc$ = GetWindowsDir() + "ODBC.INI"
- IF DoesFileExist(szSrc$, femRead) THEN
- szDest$ = MakePath( DESTSQL$, "ODBC.OLD\ODBC.INI")
- CopyFile szSrc$, szDest$, cmoOverwrite, 0
- ENDIF
- RestoreCursor curs%
- ENDIF
-
-
- '' INSTALLODBCDRIVER
- '' Install ODBC driver
- INSTALLODBCDRIVER:
- IF opt1$ = "DRIVERMANAGER" THEN
- CopyFile MakePath( DESTSQL$, "BIN\TUNODBC.DLL"), MakePath( DESTSQL$, "DRIVER\TUNODBC.DLL"), cmoOverwrite, 0
- CopyFile MakePath( DESTSQL$, "BIN\TUNTRANS.DLL"), MakePath( DESTSQL$, "DRIVER\TUNTRANS.DLL"), cmoOverwrite, 0
- CopyFile MakePath( DESTSQL$, "BIN\TUNCS.DLL"), MakePath( DESTSQL$, "DRIVER\TUNCS.DLL"), cmoOverwrite, 0
- CopyFile MakePath( DESTSQL$, "BIN\TUNCSTIM.EXE"), MakePath( DESTSQL$, "DRIVER\TUNCSTIM.EXE"), cmoOverwrite, 0
- INSTALLODBC:
- hWnd% = HwndFrame()
- nRc% = InstallODBC(hWnd%, DESTSQL$, opt1$)
- IF nRc% = 0 THEN
- GOSUB ASKQUIT
- GOTO INSTALLODBC
- END IF
- ELSE
- curs% = ShowWaitCursor()
- '' ---- Copy files ----
- CopyFile MakePath( DESTSQL$, "BIN\TUNODBC.DLL"), MakePath( GetWindowsSysDir(), "TUNODBC.DLL"), cmoOverwrite, 0
- CopyFile MakePath( DESTSQL$, "BIN\TUNTRANS.DLL"), MakePath( GetWindowsSysDir(), "TUNTRANS.DLL"), cmoOverwrite, 0
- CopyFile MakePath( DESTSQL$, "BIN\TUNCS.DLL"), MakePath( GetWindowsSysDir(), "TUNCS.DLL"), cmoOverwrite, 0
- CopyFile MakePath( DESTSQL$, "BIN\TUNCSTIM.EXE"), MakePath( GetWindowsSysDir(), "TUNCSTIM.EXE"), cmoOverwrite, 0
-
- '' ---- Update ODBCINST.INI for Tun Driver ----
- CreateIniKeyValue MakePath( GetWindowsDir(), "ODBCINST.INI"), "ODBC Drivers", "Tun Driver", "Installed" ,cmoOverwrite
- CreateIniKeyValue MakePath( GetWindowsDir(), "ODBCINST.INI"), "Tun Driver", "Driver", MakePath( GetWindowsSysDir(), "TUNODBC.DLL" ), cmoOverwrite
- CreateIniKeyValue MakePath( GetWindowsDir(), "ODBCINST.INI"), "Tun Driver", "Setup", MakePath( GetWindowsSysDir(), "TUNODBC.DLL" ), cmoOverwrite
-
- '' ---- Update ODBCINST.INI for Tun Translator ----
- CreateIniKeyValue MakePath( GetWindowsDir(), "ODBCINST.INI"), "ODBC Translators", "Tun Translator", "Installed" ,cmoOverwrite
- CreateIniKeyValue MakePath( GetWindowsDir(), "ODBCINST.INI"), "Tun Translator", "Translator", MakePath( GetWindowsSysDir(), "TUNTRANS.DLL" ), cmoOverwrite
- CreateIniKeyValue MakePath( GetWindowsDir(), "ODBCINST.INI"), "Tun Translator", "Setup", MakePath( GetWindowsSysDir(), "TUNTRANS.DLL" ), cmoOverwrite
- RestoreCursor curs%
- END IF
-
- ENDIF
-
- '' UPDATEINIFILES
- '' Create or update entries in .INI files
- IF CREATEINIFILES$ <> "NO" THEN
-
- UPDATEINIFILES:
-
- CursorSave% = ShowWaitCursor()
- '' ---- Create / Update entries in TUN.INI ----
-
- szLG$ = MID$( szSN$, 3, 1 )
- nLG% = (ASC(MID$(szSN$,6,1)) - ASC("0")) * 10 + (ASC(MID$(szSN$,7,1)) - ASC("0"))
- IF DoesIniKeyExist( MakePath( GetWindowsDir(), "TUN.INI"), "Language", "Language") = 0 THEN
- IF nLG% = 1 THEN
- szLGN$= "01"
- ELSEIF nLG% > 3 THEN
- szLGN$ = MakeString(nLG% - 2 )
- ELSE
- szLGN$ ="00"
- END IF
- CreateIniKeyValue MakePath( GetWindowsDir(), "TUN.INI"), "Language", "Language", szLGN$ ,cmoOverwrite
- END IF
-
- IF INSTALLCRYPT% = 1 THEN
- i%=AddLangMenu(DESTCOM$)
- ENDIF
-
- IF INSTALLCONVERT% = 1 THEN
- i%=CreatIniConvert(DESTCOM$)
- ENDIF
-
- IF INSTALLKER% <> 0 THEN
- i%= CreatIniKer(DESTKER$,INSTALLTCP%)
- ENDIF
-
- IF INSTALLTCP% <> 0 THEN
- '' Save file system.ini in system.XXX before modification
- '' Delete old and Add new TUNREDIR.386 or TUNNFS.386
-
- i%= SaveFile( MakePath( GetWindowsDir(), "SYSTEM.INI"))
- IF KERNELTYPE$ = "BTN2" THEN
- i%= RemoveSysIniKey( MakePath( GetWindowsDir(), "SYSTEM.INI"), "386Enh", "device", "TUNNFS.386")
- i%= RemoveSysIniKey( MakePath( GetWindowsDir(), "SYSTEM.INI"), "386Enh", "device", "TUNREDIR.386")
- i%= MyAddSysIniKey( MakePath( GetWindowsDir(), "SYSTEM.INI"), "386Enh", "device", MakePath( DESTTCP$, "TUNREDIR.386"))
-
- ELSEIF KERNELTYPE$ = "BTN3" THEN
- i%= RemoveSysIniKey( MakePath( GetWindowsDir(), "SYSTEM.INI"), "386Enh", "device", "TUNREDIR.386")
- i%= RemoveSysIniKey( MakePath( GetWindowsDir(), "SYSTEM.INI"), "386Enh", "device", "TUNNFS.386")
- i%= MyAddSysIniKey(MakePath( GetWindowsDir(), "SYSTEM.INI"), "386Enh", "device", MakePath( DESTTCP$, "TUNNFS.386"))
-
- ENDIF
- '' Create System files
- i%= CreateSysFile(MakePath( DESTTCP$, "WLPD.INI"))
- i%= CreateSysFile(MakePath( DESTTCP$, "WNFSD.INI"))
- i%= CreateSysFile(MakePath( DESTTCP$, "WFTPD.INI"))
- '' Modification/Creation of needed entries for NDD
-
- IF DoesIniKeyExist(MakePath(GetWindowsDir,"SYSTEM.INI"),"boot","network.drv") = 1 THEN
- NDD$ = GetIniKeyString(MakePath(GetWindowsDir,"SYSTEM.INI"), "boot", "network.drv")
- NDD$ = LCASE$(NDD$)
- IF DoesIniKeyExist(MakePath(GetWindowsDir,"SYSTEM.INI"),"boot","secondnet.drv") = 1 THEN
- SNDD$ = GetIniKeyString(MakePath(GetWindowsDir,"SYSTEM.INI"), "boot", "secondnet.drv")
- SNDD$ = LCASE$(SNDD$)
- END IF
- END IF
-
- IF NDD$ <> "" THEN
- IF INSTR(1, NDD$, "wfwnet.drv") THEN
- IF SNDD$ <> "" THEN
- IF INSTR(1 ,SNDD$ , "tuntcp.drv") OR INSTR(1, SNDD$, "tunnet.drv") THEN
- CreateIniKeyValue MakePath( GetWindowsDir(), "SYSTEM.INI"), "boot", "secondnet.drv", MakePath(DESTTCP$,"TUNNET.DRV"), cmoOverwrite
- CreateIniKeyValue MakePath( GetWindowsDir(), "SYSTEM.INI"), "boot.description", "secondnet.drv", "Tun TCP ESKER (version 8.00)", cmoOverwrite
- ELSE
- CreateIniKeyValue MakePath( GetWindowsDir(), "SYSTEM.INI"), "boot", ";secondnet.drv", SNDD$, cmoOverwrite
- CreateIniKeyValue MakePath( GetWindowsDir(), "SYSTEM.INI"), "boot", "secondnet.drv", MakePath(DESTTCP$,"TUNNET.DRV"), cmoOverwrite
- CreateIniKeyValue MakePath( GetWindowsDir(), "SYSTEM.INI"), "boot.description", "secondnet.drv", "Tun TCP ESKER (version 8.00)", cmoOverwrite
- CreateIniKeyValue MakePath( DESTTCP$, "TUNNET.INI"), "Othernet", "Path", SNDD$, cmoOverwrite
- CreateIniKeyValue MakePath( DESTTCP$, "TUNNET.INI"), "Othernet", "Enable", "Yes", cmoOverwrite
- IF INSTR(1, SNDD$, "netware.drv") THEN
- OTHERNETNAME$= "Novell"
- ELSEIF INSTR(1,SNDD$, "lanman") THEN
- OTHERNETNAME$= "LAN Manager"
- ELSE
- OTHERNETNAME$= "Other"
- ENDIF
- CreateIniKeyValue MakePath( DESTTCP$, "TUNNET.INI"), "Othernet", "Name", OTHERNETNAME$, cmoOverwrite
- END IF
- ELSE
- CreateIniKeyValue MakePath( GetWindowsDir(), "SYSTEM.INI"), "boot", "secondnet.drv", MakePath(DESTTCP$,"TUNNET.DRV"), cmoOverwrite
- CreateIniKeyValue MakePath( GetWindowsDir(), "SYSTEM.INI"), "boot.description", "secondnet.drv", "Tun TCP ESKER (version 8.00)", cmoOverwrite
- ENDIF
- ELSE
- IF INSTR(1 ,NDD$ , "tuntcp.drv") OR INSTR(1, NDD$, "tunnet.drv") THEN
- CreateIniKeyValue MakePath( GetWindowsDir(), "SYSTEM.INI"), "boot", ";network.drv", NDD$ ,cmoOverwrite
- CreateIniKeyValue MakePath( GetWindowsDir(), "SYSTEM.INI"), "boot", "network.drv", MakePath(DESTTCP$,"TUNNET.DRV"), cmoOverwrite
- ELSE
- CreateIniKeyValue MakePath( GetWindowsDir(), "SYSTEM.INI"), "boot", ";network.drv", NDD$ ,cmoOverwrite
- CreateIniKeyValue MakePath( GetWindowsDir(), "SYSTEM.INI"), "boot", "network.drv", MakePath(DESTTCP$,"TUNNET.DRV"), cmoOverwrite
- CreateIniKeyValue MakePath( GetWindowsDir(), "SYSTEM.INI"), "boot.description", "network.drv", "Tun TCP ESKER (version 8.00)", cmoOverwrite
- CreateIniKeyValue MakePath( DESTTCP$, "TUNNET.INI"), "Othernet", "Path", NDD$, cmoOverwrite
- CreateIniKeyValue MakePath( DESTTCP$, "TUNNET.INI"), "Othernet", "Enable", "Yes", cmoOverwrite
- IF INSTR(1, NDD$, "netware.drv") THEN
- OTHERNETNAME$= "Novell"
- ELSEIF INSTR(1,NDD$, "lanman") THEN
- OTHERNETNAME$= "LAN Manager"
- ELSE
- OTHERNETNAME$= "Other"
- ENDIF
- CreateIniKeyValue MakePath( DESTTCP$, "TUNNET.INI"), "Othernet", "Name", OTHERNETNAME$, cmoOverwrite
- ENDIF
- ENDIF
- ELSE
- CreateIniKeyValue MakePath( GetWindowsDir(), "SYSTEM.INI"), "boot", "network.drv", MakePath(DESTTCP$,"TUNNET.DRV"), cmoOverwrite
- CreateIniKeyValue MakePath( GetWindowsDir(), "SYSTEM.INI"), "boot.description", "network.drv", "Tun TCP ESKER (version 8.00)", cmoOverwrite
- END IF
-
- i%= CreatIniTcp(KERNELTYPE$,DESTTCP$,INSTALLMAIL%,nLG%)
-
-
- ENDIF
-
- IF INSTALLEMUL% <> 0 THEN
- i%= CreatIniEmul(DESTEMUL$,nLG%)
- ENDIF
-
- IF INSTALLMAIL% <> 0 THEN
- i%= CreatIniMail(DESTMAIL$)
- ENDIF
-
- IF INSTALLSQL% <> 0 THEN
- i%= CreatIniSql(DESTSQL$)
- ENDIF
-
- RestoreCursor CursorSave%
-
- ENDIF
-
- ''
- '' Add Path of Tun KERNEL in AUTOEXEC.BAT
- ''
- FINDTUNPATH%=1
- IF ADDPATH$ <> "NO" THEN
-
- IF INSTALLKER% <> 0 THEN
- FINDTUNPATH% = FindExistingPath(DESTKER$)
- IF FINDTUNPATH% = 0 THEN
- i% = AddTunDir(DESTKER$)
- ENDIF
- ENDIF
- ENDIF
-
- ''
- '' Ask to configure TCP/IP
- ''
- TCPCONF$ = "NO"
-
- IF ASKTCPCONF$ <> "NO" THEN
-
- IF INSTALLKER% <> 0 THEN
- SetSymbolValue "MessageYesNo", "Do you want to configure TCP/IP now ? This can be done later running the Administrator"
- SetSymbolValue "TitleYesNo", "TCP/IP Configuration"
- TCPCONF1:
- TCPCONF$ = UIStartDlg(CUIDLL$, ASKYESNO, "FAskYesNoDlgProc", 0, "" )
- IF TCPCONF$ = "REACTIVATE" THEN
- GOTO TCPCONF1
- ENDIF
- UIPop 1
- ENDIF
-
- ENDIF
-
- IF CREATEGROUPS$ <> "NO" THEN
-
- IF INSTALLKER% <> 0 AND INSTALLTCP% = 0 THEN
- CreateProgmanGroup "Tun KERNEL", "", cmoNone
- ShowProgmanGroup "Tun KERNEL", 1, cmoNone
- CreateProgmanItem "Tun KERNEL", "Admin", MakePath( DESTKER$, "WTUNTCPW.EXE -NFS -NFSD -LPR -LPD -FTPD" ), "", cmoOverwrite
- CreateProgmanItem "Tun KERNEL", "WTCPIP", MakePath( DESTKER$, "WTCPIP.EXE" ), "", cmoOverwrite
- CreateProgmanItem "Tun KERNEL", "Ping", MakePath( DESTKER$, "WPING.EXE" ), "", cmoOverwrite
-
- ENDIF
-
- IF INSTALLTCP% <> 0 THEN
-
- CreateProgmanGroup "Tun TCP", "", cmoNone
- ShowProgmanGroup "Tun TCP", 1, cmoNone
-
- IF INSTALLKER% <> 0 THEN
- CreateProgmanItem "Tun TCP", "Admin", MakePath( DESTTCP$, "WTUNTCPW.EXE" ), "", cmoOverwrite
- CreateProgmanItem "Tun TCP", "WTCPIP", MakePath( DESTKER$, "WTCPIP.EXE" ), "", cmoOverwrite
- CreateProgmanItem "Tun TCP", "Ping", MakePath( DESTKER$, "WPING.EXE" ), "", cmoOverwrite
- ELSE
- IF KERNELTYPE$ = "BTN4" THEN
- CreateProgmanItem "Tun TCP", "Admin", MakePath( DESTTCP$, "WTUNTCPW.EXE -TCPIP -NFS" ), "", cmoOverwrite
- ELSE
- CreateProgmanItem "Tun TCP", "Admin", MakePath( DESTTCP$, "WTUNTCPW.EXE -TCPIP" ), "", cmoOverwrite
- ENDIF
-
- ENDIF
-
- CreateProgmanItem "Tun TCP", "VT320 Emulator", MakePath( DESTTCP$, "WVT320.EXE" ), "", cmoOverwrite
- CreateProgmanItem "Tun TCP", "File Transfer", MakePath( DESTTCP$, "WFTP.EXE" ), "", cmoOverwrite
- CreateProgmanItem "Tun TCP", "Remote Command", MakePath( DESTTCP$, "WRSH.EXE" ), "", cmoOverwrite
- CreateProgmanItem "Tun TCP", "Tape Archive", MakePath( DESTTCP$, "WTAR.EXE" ), "", cmoOverwrite
- CreateProgmanItem "Tun TCP", "Print Server", MakePath( DESTTCP$, "WLPD.EXE" ), "", cmoOverwrite
- CreateProgmanItem "Tun TCP", "FTP Server", MakePath( DESTTCP$, "WFTPD.EXE" ), "", cmoOverwrite
- CreateProgmanItem "Tun TCP", "NFS Server", MakePath( DESTTCP$, "WNFSD.EXE" ), "", cmoOverwrite
- IF INSTALLMAIL% = 0 THEN
- CreateProgmanItem "Tun TCP", "Email", MakePath( DESTTCP$, "WMAIL2.EXE" ), "", cmoOverwrite
- ENDIF
- ENDIF
-
- IF INSTALLEMUL% <> 0 THEN
-
- CreateProgmanGroup "Tun EMUL", "", cmoNone
- ShowProgmanGroup "Tun EMUL", 1, cmoNone
- CreateProgmanItem "Tun EMUL", "Terminal Emulator", MakePath( DESTEMUL$, "EMULWIN.EXE" ), "", cmoOverwrite
- CreateProgmanItem "Tun EMUL", "5250 Emulator", MakePath( DESTEMUL$, "5250.EXE" ), "", cmoOverwrite
- CreateProgmanItem "Tun EMUL", "3270 Emulator", MakePath( DESTEMUL$, "3270.EXE" ), "", cmoOverwrite
- CreateProgmanItem "Tun EMUL", "Panel Editor", MakePath( DESTEMUL$, "PANEDIT.EXE" ), "", cmoOverwrite
- ENDIF
-
- IF INSTALLMAIL% <> 0 THEN
- CreateProgmanGroup "Tun MAIL", "", cmoNone
- ShowProgmanGroup "Tun MAIL", 1, cmoNone
- CreateProgmanItem "Tun MAIL", "Email", MakePath( DESTMAIL$, "BIN\WMAIL2.EXE" ), "", cmoOverwrite
- CreateProgmanItem "Tun MAIL", "Remote Mailer", MakePath( DESTMAIL$, "BIN\RMAIL.EXE"), "", cmoOverwrite
- ENDIF
-
- IF INSTALLSQL% <> 0 THEN
- ''-------------------------------------------------------------------------
- '' CREATEAPPGROUP
- '' TUN SQL Program group and program items creation
- ''-------------------------------------------------------------------------
- CREATEAPPGROUP:
- CreateProgmanGroup "Tun SQL", "", cmoNone
- ShowProgmanGroup "Tun SQL", 1, cmoNone
- CreateProgmanItem "Tun SQL", "DB Show", MakePath( DESTSQL$, "BIN\DBSHOW.EXE" ), "", cmoOverwrite
- CreateProgmanItem "Tun SQL", "DB Script", MakePath( DESTSQL$, "BIN\DBSCRIPT.EXE" ), "", cmoOverwrite
- CreateProgmanItem "Tun SQL", "DB Map", MakePath( DESTSQL$, "BIN\DBMAP.EXE" ), "", cmoOverwrite
-
- ''-------------------------------------------------------------------------
- '' CREATESAMPLESGROUP
- '' TUN SQL Sample program items creation
- ''-------------------------------------------------------------------------
- CREATESAMPLESGROUP:
- IF opt2$ = "SAMPLES" THEN
- '' ---- Word demo's ----
- szIco$ = MakePath( DESTSQL$, "DEMO\WORD\ODBCWRD.ICO" )
- szWorkDir$ = MakePath( DESTSQL$, "DEMO\WORD" )
- szPar$ = szIco$ + ",,,," + szWorkDir$
- szExePath$ = LookupApp("WORD")
- IF szDemoIfx$ = "YES" THEN
- szCmd$ = szExePath$ + " IFXDEMO1.DOC"
- CreateProgmanItem "TUN SQL", "MS Word Informix TABLE", szCmd$ , szPar$, cmoOverwrite
- szCmd$ = szExePath$ + " IFXDEMO2.DOC"
- CreateProgmanItem "TUN SQL", "MS Word Informix MAILING", szCmd$ , szPar$, cmoOverwrite
- END IF
- IF szDemoOra$ = "YES" THEN
- szCmd$ = szExePath$ + " ORADEMO1.DOC"
- CreateProgmanItem "TUN SQL", "MS Word Oracle TABLE", szCmd$ , szPar$, cmoOverwrite
- szCmd$ = szExePath$ + " ORADEMO2.DOC"
- CreateProgmanItem "TUN SQL", "MS Word Oracle MAILING", szCmd$ , szPar$, cmoOverwrite
- END IF
- IF szDemoSyb$ = "YES" THEN
- szCmd$ = szExePath$ + " SYBDEMO1.DOC"
- CreateProgmanItem "TUN SQL", "MS Word Sybase TABLE", szCmd$ , szPar$, cmoOverwrite
- szCmd$ = szExePath$ + " SYBDEMO2.DOC"
- CreateProgmanItem "TUN SQL", "MS Word Sybase MAILING", szCmd$ , szPar$, cmoOverwrite
- END IF
- IF szDemoIse$ = "YES" THEN
- szCmd$ = szExePath$ + " ISEDEMO1.DOC"
- CreateProgmanItem "TUN SQL", "MS Word Informix-SE TABLE", szCmd$ , szPar$, cmoOverwrite
- szCmd$ = szExePath$ + " ISEDEMO2.DOC"
- CreateProgmanItem "TUN SQL", "MS Word Informix-SE MAILING", szCmd$ , szPar$, cmoOverwrite
- END IF
-
- '' ---- Excel demo's ----
- szIco$ = MakePath( DESTSQL$, "DEMO\EXCEL\ODBCEXC.ICO" )
- szWorkDir$ = MakePath( DESTSQL$, "DEMO\EXCEL" )
- szPar$ = szIco$ + ",,,," + szWorkDir$
- szExePath$ = LookupApp("EXCEL")
- IF szDemoIfx$ = "YES" THEN
- szCmd$ = szExePath$ + " IFXDEMO1.XLS"
- CreateProgmanItem "TUN SQL", "MS Excel Informix TABLE", szCmd$ , szPar$, cmoOverwrite
- szCmd$ = szExePath$ + " IFXDEMO2.XLS"
- CreateProgmanItem "TUN SQL", "MS Excel Informix X-TABLE", szCmd$ , szPar$, cmoOverwrite
- szCmd$ = szExePath$ + " IFXDEMO3.XLS"
- CreateProgmanItem "TUN SQL", "MS Excel Informix REQUEST", szCmd$ , szPar$, cmoOverwrite
- END IF
- IF szDemoOra$ = "YES" THEN
- szCmd$ = szExePath$ + " ORADEMO1.XLS"
- CreateProgmanItem "TUN SQL", "MS Excel Oracle TABLE", szCmd$ , szPar$, cmoOverwrite
- szCmd$ = szExePath$ + " ORADEMO2.XLS"
- CreateProgmanItem "TUN SQL", "MS Excel Oracle X-TABLE", szCmd$ , szPar$, cmoOverwrite
- szCmd$ = szExePath$ + " ORADEMO3.XLS"
- CreateProgmanItem "TUN SQL", "MS Excel Oracle REQUEST", szCmd$ , szPar$, cmoOverwrite
- END IF
- IF szDemoSyb$ = "YES" THEN
- szCmd$ = szExePath$ + " SYBDEMO1.XLS"
- CreateProgmanItem "TUN SQL", "MS Excel Sybase TABLE", szCmd$ , szPar$, cmoOverwrite
- szCmd$ = szExePath$ + " SYBDEMO2.XLS"
- CreateProgmanItem "TUN SQL", "MS Excel Sybase X-TABLE", szCmd$ , szPar$, cmoOverwrite
- szCmd$ = szExePath$ + " SYBDEMO3.XLS"
- CreateProgmanItem "TUN SQL", "MS Excel Sybase REQUEST", szCmd$ , szPar$, cmoOverwrite
- END IF
- IF szDemoIse$ = "YES" THEN
- szCmd$ = szExePath$ + " ISEDEMO1.XLS"
- CreateProgmanItem "TUN SQL", "MS Excel Informix-SE TABLE", szCmd$ , szPar$, cmoOverwrite
- szCmd$ = szExePath$ + " ISEDEMO2.XLS"
- CreateProgmanItem "TUN SQL", "MS Excel Informix-SE X-TABLE", szCmd$ , szPar$, cmoOverwrite
- szCmd$ = szExePath$ + " ISEDEMO3.XLS"
- CreateProgmanItem "TUN SQL", "MS Excel Informix-SE REQUEST", szCmd$ , szPar$, cmoOverwrite
- END IF
-
- '' ---- Access demo's ----
- szIco$ = MakePath( DESTSQL$, "DEMO\ACCESS\ODBCACC.ICO" )
- szWorkDir$ = MakePath( DESTSQL$, "DEMO\ACCESS" )
- szPar$ = szIco$ + ",,,," + szWorkDir$
- szExePath$ = LookupApp("ACCESS")
- IF szDemoIfx$ = "YES" THEN
- szCmd$ = szExePath$ + " IFXDEMO.MDB"
- CreateProgmanItem "TUN SQL", "MS Access Informix TABLE LINK", szCmd$ , szPar$, cmoOverwrite
- END IF
- IF szDemoOra$ = "YES" THEN
- szCmd$ = szExePath$ + " ORADEMO.MDB"
- CreateProgmanItem "TUN SQL", "MS Access Oracle TABLE LINK", szCmd$ , szPar$, cmoOverwrite
- END IF
- IF szDemoSyb$ = "YES" THEN
- szCmd$ = szExePath$ + " SYBDEMO.MDB"
- CreateProgmanItem "TUN SQL", "MS Access Sybase TABLE LINK", szCmd$ , szPar$, cmoOverwrite
- END IF
- IF szDemoIse$ = "YES" THEN
- szCmd$ = szExePath$ + " ISEDEMO.MDB"
- CreateProgmanItem "TUN SQL", "MS Access Informix-SE TABLE LINK", szCmd$ , szPar$, cmoOverwrite
- END IF
- END IF
- ENDIF
-
- ENDIF
-
- '' Run TCP/IP Custom Dialogs
- IF RUNTCPCONF$ <> "NO" THEN
-
- IF INSTALLKER% <> 0 THEN
- IF TCPCONF$= "YES" THEN
- SETUPPROG$= MakePath( DESTKER$, "WTCPDLG.DLL")
- i% = CustomSetup( WndFrame%, SETUPPROG$)
- ENDIF
- ENDIF
- ENDIF
-
-
- '' QUIT
- '' Exit the program after displaying the appropriate dialog box according
- '' the error status
- QUIT:
- ON ERROR GOTO ERRQUIT
-
- IF ERR = 0 THEN
- dlg% = EXITSUCCESS
- IF COPYFILES$ <> "NO" THEN
- IF RestartListEmpty() = 0 THEN
- dumb% = ExitExecRestart()
- END IF
- ENDIF
- IF FINDTUNPATH% = 0 OR (INSTALLTCP% <> 0 AND (KERNELTYPE$ = "BTN2" OR KERNELTYPE$ = "BTN3")) THEN
- IF FINDTUNPATH% = 0 THEN
- REBOOT1:
- SetSymbolValue "TitleYesNo", "Restart System"
- SetSymbolValue "MessageYesNo", "Setup has modified AUTOEXEC.BAT file. Do you want to restart the computer ?"
- sz$ = UIStartDlg(CUIDLL$, ASKYESNO, "FAskYesNoDlgProc", 0, "")
- UIPop 1
- IF sz$ <> "NO" THEN
- i%=MyExitWindows(1)
- GOTO REBOOT1
- ENDIF
- ELSE
- REBOOT2:
- SetSymbolValue "TitleYesNo", "Restart Windows"
- SetSymbolValue "MessageYesNo", "Setup has modified Windows system files. Do you want to restart Windows ?"
- sz$ = UIStartDlg(CUIDLL$, ASKYESNO, "FAskYesNoDlgProc", 0, "")
- UIPop 1
- IF sz$ <> "NO" THEN
- i%=MyExitWindows(0)
- GOTO REBOOT2
- ENDIF
- ENDIF
-
- ENDIF
- ELSEIF ERR = STFQUIT THEN
- dlg% = EXITQUIT
- ELSE
- dlg% = EXITFAILURE
- END IF
- QUITL1:
- sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
- IF sz$ = "REACTIVATE" THEN
- GOTO QUITL1
- END IF
- UIPop 1
-
- END
-
- ERRQUIT:
- i% = DoMsgBox("Setup script sources are not correct, please contact your technical support", "Setup Warning", MB_OK+MB_TASKMODAL+MB_ICONHAND)
- END
-
- '' GETPATH
- '' Ask for TUN SQL Installation directory
- GETPATH:
- SetSymbolValue "EditTextIn", DEST$
- SetSymbolValue "EditFocus", "END"
- GETPATHL1:
- sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
-
- IF sz$ = "CONTINUE" THEN
- olddest$ = DEST$
- DEST$ = GetSymbolValue("EditTextOut")
-
- ''Validate new path.
- IF IsDirWritable(DEST$) = 0 THEN
- GOSUB BADPATH
- GOTO GETPATHL1
- END IF
- UIPop 1
-
- ''Truncate display if too long.
- IF LEN(DEST$) > 23 THEN
- ReplaceListItem DRIVETEXT$, 7, MID$(DEST$, 1, 23)+"..."
- ELSE
- ReplaceListItem DRIVETEXT$, 7, DEST$
- END IF
-
- ''Recalc if path changed.
- IF (olddest$ <> DEST$) AND (olddest$ <> DEST$+"\") AND (olddest$+"\" <> DEST$) THEN
- RecalcPath
- SetDriveStatus
- END IF
-
- olddest$ = ""
- GOTO CUSTINST
- ELSEIF sz$ = "REACTIVATE" THEN
- RecalcPath
- SetDriveStatus
- GOTO GETPATHL1
- ELSEIF sz$ = "EXIT" THEN
- GOSUB ASKQUIT
- GOTO GETPATHL1
- ELSE
- UIPop 1
- GOTO CUSTINST
- END IF
- '' ASKUPDATE
- '' Ask for upgrading the CTL3D.DLL library
- ASKUPDATE:
- sz$ = UIStartDlg(CUIDLL$, ASKUPDATE, "FAskUpdateDlgProc", 0, "")
- IF sz$ = "YES" THEN
- CopyFile szOF$, GetWindowsSysDir() + "CTL3D.OLD", cmoOverwrite, 0
- CopyFile szNF$, szOF$, cmoOverwrite, 0
- ENDIF
-
- UIPop 1
- RETURN
-
- '' CHECKDMVERSION
- '' If present, check that the driver manager version is greater than
- '' 1.00. If not, display a dialog box to inform the user.
- CHECKDMVERSION:
- szWinDir$ = GetWindowsDir()
- szWinSysDir$ = GetWindowsSysDir()
- fSaveDM% = 0
- fDM% = CheckDriverManager(szWinDir$, szWinSysDir$)
- IF fDM% = 0 THEN
- '' ---- No driver manager is currently installed ----
- IF opt1$ = "NONE" THEN
- sz$ = UIStartDlg(CUIDLL$,ODBCNODM,"FInfoDlgProc",APPHELP,HELPPROC$)
- IF sz$ = "BACK" THEN
- '' UIPop 1
- GOTO CUSTINST
- ELSEIF sz$ = "CONTINUE" THEN
- UIPop 1
- GOTO SERIAL
- ELSEIF sz$ = "EXIT" THEN
- GOSUB ASKQUIT
- GOTO CHECKDMVERSION
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO CHECKDMVERSION
- ENDIF
- ELSE
- '' ---- Hide the Custom install dialog ----
- '' UIPop 1
- GOTO SERIAL
- ENDIF
- ELSEIF fDM% = -1 THEN
- '' ---- Driver manager version is less than 2.00 ----
- IF opt1$ = "NONE" THEN
- '' ---- User has not selected DM Installation ----
- '' ---- So we display a Version Warning Dialog ----
- sz$ = UIStartDlg(CUIDLL$,ODBCBAD,"FInfoDlgProc",APPHELP,HELPPROC$)
- IF sz$ = "BACK" THEN
- '' UIPop 1
- GOTO CUSTINST
- ELSEIF sz$ = "CONTINUE" THEN
- UIPop 1
- GOTO SERIAL
- ELSEIF sz$ = "EXIT" THEN
- GOSUB ASKQUIT
- GOTO CHECKDMVERSION
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO CHECKDMVERSION
- ENDIF
- ELSE
- '' ---- User has selected DM Installation ----
- '' ---- So we display a Backup Copy Dialog ----
- sz$ = UIStartDlg(CUIDLL$,ODBCBACK,"FInfoDlgProc",APPHELP,HELPPROC$)
- IF sz$ = "BACK" THEN
- ''UIPop 1
- GOTO CUSTINST
- ELSEIF sz$ = "CONTINUE" THEN
- UIPop 1
- fSaveDM% = 1
- GOTO SERIAL
- ELSEIF sz$ = "EXIT" THEN
- GOSUB ASKQUIT
- GOTO CHECKDMVERSION
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO CHECKDMVERSION
- ENDIF
- ENDIF
- ELSEIF fDM% = 1 THEN
- '' ---- Driver manager version is 2.00 ----
- IF opt1$ = "DRIVERMANAGER" THEN
- '' ---- User has selected DM Installation ----
- '' ---- So we display a Backup Copy Dialog ----
- sz$ = UIStartDlg(CUIDLL$,ODBCBACK,"FInfoDlgProc",APPHELP,HELPPROC$)
- IF sz$ = "BACK" THEN
- '' UIPop 1
- GOTO CUSTINST
- ELSEIF sz$ = "CONTINUE" THEN
- UIPop 1
- fSaveDM% = 1
- GOTO SERIAL
- ELSEIF sz$ = "EXIT" THEN
- GOSUB ASKQUIT
- GOTO CHECKDMVERSION
- ENDIF
- ELSE
- '' ---- User has not selected DM Installation -> OK ----
- '' ---- We hide the Custom install dialog and proceed install ----
- ''UIPop 1
- GOTO SERIAL
- ENDIF
- ELSE
- GOTO CUSTINST
- ENDIF
-
-
-
- '' TOOBIG
- '' Inform the user he does not have enough disk space
- TOOBIG:
- sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfo0DlgProc", 0, "")
- IF sz$ = "REACTIVATE" THEN
- RecalcPath
- SetDriveStatus
- GOTO TOOBIG
- END IF
- UIPop 1
- RETURN
-
- '' BADPATH
- '' Inform the user that the path he entered is not valid
- BADPATH:
- sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
- IF sz$ = "REACTIVATE" THEN
- RecalcPath
- SetDriveStatus
- GOTO BADPATH
- END IF
- UIPop 1
- RETURN
-
- '' ASKQUIT
- '' Ask the user if he really want to quit TUN SQL setup or continue
- '' the installation
- ASKQUIT:
- sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
-
- IF sz$ = "EXIT" THEN
- UIPopAll
- ERROR STFQUIT
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO ASKQUIT
- ELSE
- UIPop 1
- END IF
- RETURN
-
-
- '** Purpose:
- '** Adds the specified option files to the copy list.
- '** Arguments:
- '** ftype% - type of files to add, one of the following:
- '** APPFILES, OPTFILES1, OPTFILES2
- '** Returns:
- '** none.
- SUB AddOptFilesToCopyList (ftype%) STATIC
-
- SrcDir$ = GetSymbolValue("STF_SRCDIR")
- IF ftype% = APPFILES THEN
- IF KERNELTYPE$ = "BTN2" THEN
- IF INSTALLKER% <> 0 THEN
- AddSectionFilesToCopyList "KernelFiles", SrcDir$, DEST$
- ENDIF
- IF GetListItem(CHECKSTATES$, OPTFILES4) = "ON" THEN
- AddSectionFilesToCopyList "NfsDllFiles", SrcDir$, DEST$
- ENDIF
- ELSEIF KERNELTYPE$ = "BTN3" THEN
- IF GetListItem(CHECKSTATES$, OPTFILES4) = "ON" THEN
- AddSectionFilesToCopyList "NfsVxdFiles", SrcDir$, DEST$
- ENDIF
- ENDIF
- ELSEIF ftype% = OPTFILES12 THEN
- AddSectionFilesToCopyList "KernelnFiles", SrcDir$, DEST$
- ELSEIF ftype% = OPTFILES4 AND GetListItem(CHECKSTATES$, OPTFILES4) = "ON" THEN
- AddSectionFilesToCopyList "TcpFiles", SrcDir$, DEST$
- ELSEIF ftype% = OPTFILES5 AND GetListItem(CHECKSTATES$, OPTFILES5) = "ON" THEN
- AddSectionFilesToCopyList "EmulFiles", SrcDir$, DEST$
- ELSEIF ftype% = OPTFILES6 AND GetListItem(CHECKSTATES$, OPTFILES6) = "ON" THEN
- AddSectionFilesToCopyList "MailFiles", SrcDir$, DEST$
- ELSEIF ftype% = OPTFILES7 AND GetListItem(CHECKSTATES$, OPTFILES7) = "ON" THEN
- AddSectionFilesToCopyList "Pop3MFiles", SrcDir$, DEST$
- ELSEIF ftype% = OPTFILES8 AND GetListItem(CHECKSTATES$, OPTFILES8) = "ON" THEN
- AddSectionFilesToCopyList "FaxFiles", SrcDir$, DEST$
- ELSEIF ftype% = OPTFILES9 AND GetListItem(CHECKSTATES$, OPTFILES9) = "ON" THEN
- AddSectionFilesToCopyList "SqlFiles", SrcDir$, DEST$
- ELSEIF ftype% = OPTFILES10 AND GetListItem(CHECKSTATES$, OPTFILES10) = "ON" THEN
- AddSectionFilesToCopyList "OdbcFiles", SrcDir$, DEST$
- ELSEIF ftype% = OPTFILES11 AND GetListItem(CHECKSTATES$, OPTFILES11) = "ON" THEN
- AddSectionFilesToCopyList "SamplesFiles", SrcDir$, DEST$
- ELSEIF ftype% = CRYPTFILES THEN
- AddSectionFilesToCopyList "CryptFiles", SrcDir$, DEST$
- ELSEIF ftype% = CTL3DFILES THEN
- AddSectionFilesToCopyList "Ctl3dFiles", SrcDir$, DEST$
- ELSEIF ftype% = CONVERTFILES THEN
- AddSectionFilesToCopyList "ConvertFiles", SrcDir$, DEST$
- ENDIF
- SrcDir$ = ""
-
- END SUB
-
-
- '** Purpose:
- '** Recalculates disk space for the given option files and sets
- '** the status info symbol "StatusItemsText".
- '** Arguments:
- '** ftype% - type of files to add, one of the following:
- '** APPFILES, OPTFILES1, OPTFILES2
- '** Returns:
- '** none.
- SUB RecalcOptFiles (ftype%) STATIC
- CursorSave% = ShowWaitCursor()
-
- ClearCopyList
- AddOptFilesToCopyList ftype%
-
- fExtra% = 0
- IF ftype% = APPFILES THEN
- ListSym$ = APPNEEDS$
- ''Add extra cost to Windows drive for ini/progman, etc.
- ndrive% = ASC(ucase$(WINDRIVE$)) - ASC("A") + 1
- ReplaceListItem EXTRACOSTS$, ndrive%, "10240"
- fExtra% = 1
- ELSEIF ftype% = OPTFILES1 THEN
- ListSym$ = OPT1NEEDS$
- ELSEIF ftype% = OPTFILES2 THEN
- ListSym$ = OPT2NEEDS$
- ELSEIF ftype% = OPTFILES3 THEN
- ListSym$ = OPT3NEEDS$
- ELSEIF ftype% = OPTFILES4 THEN
- ListSym$ = OPT4NEEDS$
- ELSEIF ftype% = OPTFILES5 THEN
- ListSym$ = OPT5NEEDS$
- ELSEIF ftype% = OPTFILES6 THEN
- ListSym$ = OPT6NEEDS$
- ELSEIF ftype% = OPTFILES7 THEN
- ListSym$ = OPT7NEEDS$
- ELSEIF ftype% = OPTFILES8 THEN
- ListSym$ = OPT8NEEDS$
- ELSEIF ftype% = OPTFILES9 THEN
- ListSym$ = OPT9NEEDS$
- ELSEIF ftype% = OPTFILES10 THEN
- ListSym$ = OPT10NEEDS$
- ELSEIF ftype% = OPTFILES11 THEN
- ListSym$ = OPT11NEEDS$
- ELSEIF ftype% = OPTFILES12 THEN
- ListSym$ = OPT12NEEDS$
- ELSEIF ftype% = OPTFILES13 THEN
- ListSym$ = OPT13NEEDS$
- END IF
-
- StillNeed& = GetCopyListCost(EXTRACOSTS$, ListSym$, "")
-
- cost& = 0
- FOR i% = 1 TO 26 STEP 1
- cost& = cost& + VAL(GetListItem(ListSym$, i%))
- NEXT i%
- ReplaceListItem STATUSTEXT$, ftype%, STR$(cost& / 1024) + " K"
-
- IF StillNeed& > 0 THEN
- ReplaceListItem BIGLIST$, ftype%, "YES"
- ELSE
- ReplaceListItem BIGLIST$, ftype%, ""
- END IF
-
- IF fExtra% THEN
- ReplaceListItem EXTRACOSTS$, ndrive%, "0"
- END IF
- RestoreCursor CursorSave%
- ListSym$ = ""
- END SUB
-
-
- '*************************************************************************
- '**
- '** Purpose:
- '** Recalculates disk space and sets option status info according
- '** to the current destination path.
- '** Arguments:
- '** none.
- '** Returns:
- '** none.
- '*************************************************************************
- SUB RecalcPath STATIC
-
- CursorSave% = ShowWaitCursor()
-
- DESTKER$= MakePath( DEST$, "KERNELW")
- FILEPATH$= MakePath( DESTKER$, "TUNTCPIP.DLL")
- IF DoesFileExist ( FILEPATH$, femExits) = 1 THEN
- MasterFileVersion$ = GetSectionKeyVersion("KernelFiles","TUNTCPIP.DLL")
- DiskFileVersion$ = GetVersionOfFile( FILEPATH$)
- INSTALLEDKER% = IsNewer( DiskFileVersion$, MasterFileVersion$)
- ENDIF
- RecalcOptFiles APPFILES
- IF INSTALLEDKER% <> 1 THEN
- RecalcOptFiles OPTFILES12
- ENDIF
- RecalcOptFiles OPTFILES4
- RecalcOptFiles OPTFILES5
- RecalcOptFiles OPTFILES6
- RecalcOptFiles OPTFILES7
- RecalcOptFiles OPTFILES8
- RecalcOptFiles OPTFILES9
- RecalcOptFiles OPTFILES10
- RecalcOptFiles OPTFILES11
-
- RestoreCursor CursorSave%
- END SUB
-
-
- '*************************************************************************
- '**
- '** Purpose:
- '** Sets drive status info according to latest disk space calcs.
- '** Arguments:
- '** none.
- '** Returns:
- '** none.
- '*************************************************************************
- SUB SetDriveStatus STATIC
-
- drive$ = MID$(DEST$, 1, 1)
- ndrive% = ASC(ucase$(drive$)) - ASC("A") + 1
- cost& = VAL(GetListItem(APPNEEDS$, ndrive%)) + VAL(GetListItem(OPT1NEEDS$, ndrive%)) + VAL(GetListItem(OPT2NEEDS$, ndrive%)) + VAL(GetListItem(OPT3NEEDS$, ndrive%)) + VAL(GetListItem(OPT4NEEDS$, ndrive%))
- cost& = cost& + VAL(GetListItem(OPT5NEEDS$, ndrive%)) + VAL(GetListItem(OPT6NEEDS$, ndrive%)) + VAL(GetListItem(OPT7NEEDS$, ndrive%)) + VAL(GetListItem(OPT8NEEDS$, ndrive%)) + VAL(GetListItem(OPT9NEEDS$, ndrive%))
- cost& = cost& + VAL(GetListItem(OPT10NEEDS$, ndrive%)) + VAL(GetListItem(OPT11NEEDS$, ndrive%)) + VAL(GetListItem(OPT12NEEDS$, ndrive%))
- free& = GetFreeSpaceForDrive(drive$)
- ReplaceListItem DRIVETEXT$, 1, drive$ + ":"
- ReplaceListItem DRIVETEXT$, 2, STR$(cost& / 1024) + " K"
- ReplaceListItem DRIVETEXT$, 3, STR$(free& / 1024) + " K"
-
- IF drive$ = WINDRIVE$ THEN
- ReplaceListItem DRIVETEXT$, 4, ""
- ReplaceListItem DRIVETEXT$, 5, ""
- ReplaceListItem DRIVETEXT$, 6, ""
- ELSE
- ndrive% = ASC(ucase$(WINDRIVE$)) - ASC("A") + 1
- cost& = VAL(GetListItem(APPNEEDS$, ndrive%)) + VAL(GetListItem(OPT1NEEDS$, ndrive%)) + VAL(GetListItem(OPT2NEEDS$, ndrive%)) + VAL(GetListItem(OPT3NEEDS$, ndrive%)) + VAL(GetListItem(OPT4NEEDS$, ndrive%))
- cost& = cost& + VAL(GetListItem(OPT5NEEDS$, ndrive%)) + VAL(GetListItem(OPT6NEEDS$, ndrive%)) + VAL(GetListItem(OPT7NEEDS$, ndrive%)) + VAL(GetListItem(OPT8NEEDS$, ndrive%)) + VAL(GetListItem(OPT9NEEDS$, ndrive%))
- cost& = cost& + VAL(GetListItem(OPT10NEEDS$, ndrive%)) + VAL(GetListItem(OPT11NEEDS$, ndrive%)) + VAL(GetListItem(OPT12NEEDS$, ndrive%))
- IF cost& = 0 THEN
- ReplaceListItem DRIVETEXT$, 4, ""
- ReplaceListItem DRIVETEXT$, 5, ""
- ReplaceListItem DRIVETEXT$, 6, ""
- ELSE
- free& = GetFreeSpaceForDrive(WINDRIVE$)
- ReplaceListItem DRIVETEXT$, 4, WINDRIVE$ + ":"
- ReplaceListItem DRIVETEXT$, 5, STR$(cost& / 1024) + " K"
- ReplaceListItem DRIVETEXT$, 6, STR$(free& / 1024) + " K"
- END IF
- END IF
- END SUB
-
-
- '*************************************************************************
- '**
- '** Purpose:
- '** Appends a file name to the end of a directory path,
- '** inserting a backslash character as needed.
- '** Arguments:
- '** szDir$ - full directory path (with optional ending "\")
- '** szFile$ - filename to append to directory
- '** Returns:
- '** Resulting fully qualified path name.
- '*************************************************************************
- FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
- IF szDir$ = "" THEN
- MakePath = szFile$
- ELSEIF szFile$ = "" THEN
- MakePath = szDir$
- ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
- MakePath = szDir$ + szFile$
- ELSE
- MakePath = szDir$ + "\" + szFile$
- END IF
- END FUNCTION
-
-
- '*************************************************************************
- '**
- '** Purpose:
- '** Return the string form of an integer.
- '** Arguments:
- '** i% - The integer to transform.
- '** Returns:
- '** The string form of the integer.
- '*************************************************************************
- FUNCTION MakeString (i%) STATIC AS STRING
-
- Number$ = "0123456789"
- MakeString = "0" + MID$(Number$,i%+1 ,1)
-
- END FUNCTION
-
- '*************************************************************************
- '**
- '** Purpose:
- '** Return the string form of a drive number (1 is drive A, ...)
- '** Arguments:
- '** i% - The drive number starting at 1
- '** Returns:
- '** The string form of the drive.
- '*************************************************************************
-
- FUNCTION MakeDrive (i%) STATIC AS STRING
-
- Letters$ = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
- MakeDrive = MID$(Letters$,i%,1)
-
- END FUNCTION
-
-
- '*************************************************************************
- '**
- '** Purpose:
- '** Giving an application name try to locate the complete path of the
- '** application executable
- '** Arguments:
- '** szAppName$ - The application name to locate. One of the following:
- '** "WORD"
- '** "EXCEL"
- '** "ACCESS"
- '** Returns:
- '** The complete path of the application executable
- '*************************************************************************
-
- FUNCTION LookupApp (szAppName$) STATIC AS STRING
-
- LookupApp = "APPLI.EXE"
- FOR i% = 3 TO 26 STEP 1
- szDrive$ = MakeDrive(i%)
- IF IsDriveValid(szDrive$) = 1 THEN
- IF IsDriveRemovable(szDrive$) = 0 THEN
- IF szAppName$ = "WORD" THEN
- szExeName$ = "WINWORD.EXE"
- szPath$ = szDrive$ + ":\MSOFFICE\WINWORD\" + szExeName$
- IF DoesFileExist(szPath$, femRead) THEN
- LookupApp = szPath$
- GOTO RETURN_LOOKUPAPP
- ELSE
- szPath$ = szDrive$ + ":\WINWORD\" + szExeName$
- IF DoesFileExist(szPath$, femRead) THEN
- LookupApp = szPath$
- GOTO RETURN_LOOKUPAPP
- ELSE
- LookupApp = szExeName$
- ENDIF
- ENDIF
- ELSEIF szAppName$ = "EXCEL" THEN
- szExeName$ = "EXCEL.EXE"
- szPath$ = szDrive$ + ":\MSOFFICE\EXCEL\" + szExeName$
- IF DoesFileExist(szPath$, femRead) THEN
- LookupApp = szPath$
- GOTO RETURN_LOOKUPAPP
- ELSE
- szPath$ = szDrive$ + ":\EXCEL\" + szExeName$
- IF DoesFileExist(szPath$, femRead) THEN
- LookupApp = szPath$
- GOTO RETURN_LOOKUPAPP
- ELSE
- LookupApp = szExeName$
- ENDIF
- ENDIF
- ELSEIF szAppName$ = "ACCESS" THEN
- szExeName$ = "MSACCESS.EXE"
- szPath$ = szDrive$ + ":\MSOFFICE\ACCESS\" + szExeName$
- IF DoesFileExist(szPath$, femRead) THEN
- LookupApp = szPath$
- GOTO RETURN_LOOKUPAPP
- ELSE
- szPath$ = szDrive$ + ":\ACCESS\" + szExeName$
- IF DoesFileExist(szPath$, femRead) THEN
- LookupApp = szPath$
- GOTO RETURN_LOOKUPAPP
- ELSE
- LookupApp = szExeName$
- ENDIF
- ENDIF
- ENDIF
- ENDIF
- ENDIF
- NEXT i%
-
- RETURN_LOOKUPAPP:
-
- END FUNCTION
-
- '**
- '** Purpose:
- '** Newest version
- '** Arguments:
- '** szVersion1$ - N.N.N.N version string 1
- '** szVersion2$ - N.N.N.N version string 2
- '** Returns:
- '** If szVersion1$ > szVersion2$ return 0
- '** If szVersion1$ = szVersion2$ return 1
- '** If szVersion1$ < szVersion2$ return 2
- '*************************************************************************
- FUNCTION IsNewer (szVersion1$, szVersion2$) STATIC AS INTEGER
-
- IF GetVersionNthField(szVersion1$,1) < GetVersionNthField(szVersion2$,1) THEN
- IsNewer = 2
- ELSEIF GetVersionNthField(szVersion1$,1) > GetVersionNthField(szVersion2$,1) THEN
- IsNewer = 0
- ELSE
- IF GetVersionNthField(szVersion1$,2) < GetVersionNthField(szVersion2$,2) THEN
- IsNewer = 2
- ELSEIF GetVersionNthField(szVersion1$,2) > GetVersionNthField(szVersion2$,2) THEN
- IsNewer = 0
- ELSE
- IF GetVersionNthField(szVersion1$,3) < GetVersionNthField(szVersion2$,3) THEN
- IsNewer = 2
- ELSEIF GetVersionNthField(szVersion1$,3) > GetVersionNthField(szVersion2$,3) THEN
- IsNewer = 0
- ELSE
- IF GetVersionNthField(szVersion1$,4) < GetVersionNthField(szVersion2$,4) THEN
- IsNewer = 2
- ELSEIF GetVersionNthField(szVersion1$,4) > GetVersionNthField(szVersion2$,4) THEN
- IsNewer = 0
- ELSE
- IsNewer = 1
- END IF
- END IF
- END IF
- END IF
-
- END FUNCTION
-
- FUNCTION IsInstalled(szSection$,szKey$,szFile$,szPath$) STATIC AS INTEGER
-
- IsInstalled = 0
- FILEPATH$= MakePath( szPath$, szFile$)
- IF DoesFileExist ( FILEPATH$, femExits) = 1 THEN
- MasterFileVersion$ = GetSectionKeyVersion(szSection$,szKey$)
- DiskFileVersion$ = GetVersionOfFile( FILEPATH$)
- IsInstalled = IsNewer( DiskFileVersion$, MasterFileVersion$)
- ENDIF
-
- END FUNCTION
-
- FUNCTION IsInstalled2(szSection$,szKey$,szFile$,szPath$) STATIC AS INTEGER
-
- IsInstalled2 = 4
- FILEPATH$= MakePath( szPath$, szFile$)
- IF DoesFileExist ( FILEPATH$, femExists) = 1 THEN
- MasterFileVersion$ = GetSectionKeyVersion(szSection$,szKey$)
- DiskFileVersion$ = GetVersionOfFile( FILEPATH$)
- IsInstalled2 = IsNewer( DiskFileVersion$, MasterFileVersion$)
- ENDIF
-
- END FUNCTION